package tipoFornecedor;

import java.util.List;
import persistencia.DAOException;
import persistencia.DAOFactory;
import persistencia.RNException;

public class TipoFornecedorRN {

	private TipoFornecedorDAO tipoFornecedorDAO = DAOFactory.geTipoFornecedorDAO();
	private TipoFornecedorDAOHibernate tipoFornecedorDAOHibernate = new TipoFornecedorDAOHibernate();

	public void salvar(TipoFornecedor tipoFornecedor) throws RNException {
		try {
			tipoFornecedorDAO.getSession().beginTransaction();
			tipoFornecedorDAO.save(tipoFornecedor);
			tipoFornecedorDAO.getSession().getTransaction().commit();
		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException();
		}
	}

	public List<TipoFornecedor> listar() throws RNException {

		try {
			return tipoFornecedorDAO.findAll();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException();
		}
	}

	public void deletar(TipoFornecedor tipoFornecedor) throws RNException {
		try {
			tipoFornecedorDAO.getSession().beginTransaction();
			tipoFornecedorDAO.delete(tipoFornecedor);
			tipoFornecedorDAO.getSession().getTransaction().commit();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException();
		}
	}
	
	public TipoFornecedor buscaPorId(int id){
		return tipoFornecedorDAOHibernate.buscarPorId(id);
	}
	
	public TipoFornecedor buscaPorDescricao(String descricao){
		return tipoFornecedorDAOHibernate.buscarPorDescricao(descricao); 
	}

}
